Skip to content

docs: playground simulation — Phase 2 spec (+ Phase 1 status) - #5

Merged
Kinflou merged 7 commits into
mainfrom
docs/playground-simulation-phase-2
Sep 2, 2026
Merged

docs: playground simulation — Phase 2 spec (+ Phase 1 status)#5
Kinflou merged 7 commits into
mainfrom
docs/playground-simulation-phase-2

Conversation

@Kinflou

@Kinflou Kinflou commented Sep 2, 2026

Copy link
Copy Markdown
Member

Two things, both in the playground-simulation doc area:

Phase 1 status (the tail of #4's branch)

PR #4 merged only the spec commit; the six "1a landed"…"Phase 1 complete" commits that followed on the same branch were left unmerged. They flip Phase 1 to Built, fold the milestone PRs into the status line, and fold the two ir_hash / array-freezing open questions closed as resolved in 1a.

Phase 2 spec (new)

design/playground-simulation-phase-2.md — an umbrella for everything Phase 1 deferred, staged as nine independently-shippable milestones:

2a many connections + fan-out
2b multi-instance nodes + a Forward behaviour (gateway/proxy)
2c fault injection — drop / delay / reorder / corrupt / partition
2d a virtual clock — step / pause / play / speed, deterministic per seed
2e record & replay + shareable-session URLs
2f user-written behaviours in a Worker sandbox
2g framing/codec matrix (datagram/JSON-RPC × JSON/MsgPack)
2h route A — transpile the generated TS in-browser, run the real module
2i an embeddable <sim> with a locked topology for tutorial lessons

Core stays almost untouched — the model generalises (connectionconnections[], nodes host many instances, TappedTransport gains a FaultSpec + Clock); describe_project, the vendored runtime contract, and the drift guard are unchanged. The one possible comline-core touch (a codegen re-export for route A) and the esbuild-wasm-on-Pages risk (which could keep 2h flag-only) are in Open questions.

mkdocs build --strict clean. Nav + design index updated.

Kinflou added 7 commits September 3, 2026 00:10
An umbrella spec for everything Phase 1 deferred, staged as nine milestones
(2a–2i): many connections + fan-out (2a), multi-instance nodes + forwarding
(2b), fault injection (2c), a virtual clock with step/pause/speed (2d),
record & replay + shareable-session URLs (2e), sandboxed user-written
behaviours (2f), a framing/codec matrix + MsgPack codec (2g), route A —
the real generated module transpiled and run in-browser (2h), and an
embeddable `<sim>` for the tutorial (2i).

Core stays almost untouched: the model generalises
(`connection` → `connections[]`, node hosts many instances, `TappedTransport`
gets a `FaultSpec` + `Clock`), and `describe_project` / the vendored runtime
contract / the drift guard are unchanged. The one possible `comline-core`
touch (a codegen re-export for route A's import rewrite) is flagged in Open
questions, along with the `esbuild-wasm`-on-Pages risk that could keep 2h
behind a flag.

Links from Phase 1's "Deferred" section; nav + design index updated.
@Kinflou
Kinflou merged commit 1547eeb into main Sep 2, 2026
2 checks passed
@Kinflou
Kinflou deleted the docs/playground-simulation-phase-2 branch September 2, 2026 20:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant